@echo off
chcp 65001 >nul
echo ========================================
echo    MCP 自动监控系统启动脚本
echo ========================================
echo.

:: 检查Python是否安装
python --version >nul 2>&1
if errorlevel 1 (
    echo ❌ 错误: 未找到Python，请先安装Python 3.8+
    pause
    exit /b 1
)

:: 检查依赖包
echo 📦 检查依赖包...
python -c "import psutil, schedule" >nul 2>&1
if errorlevel 1 (
    echo ⚠️  缺少依赖包，正在安装...
    pip install psutil schedule requests
    if errorlevel 1 (
        echo ❌ 依赖包安装失败
        pause
        exit /b 1
    )
)

:: 显示菜单
:menu
cls
echo ========================================
echo    MCP 监控系统控制面板
echo ========================================
echo.
echo 请选择操作:
echo.
echo 1. 🏥 运行健康检查
echo 2. 🤖 启动自动监控
echo 3. 📊 启动监控仪表板
echo 4. 🔧 查看配置文件
echo 5. 📋 查看日志文件
echo 6. ❌ 退出
echo.
set /p choice=请输入选择 (1-6): 

if "%choice%"=="1" goto health_check
if "%choice%"=="2" goto auto_monitor
if "%choice%"=="3" goto dashboard
if "%choice%"=="4" goto view_config
if "%choice%"=="5" goto view_logs
if "%choice%"=="6" goto exit

echo 无效选择，请重新输入
pause
goto menu

:health_check
cls
echo ========================================
echo    运行 MCP 健康检查
echo ========================================
echo.
python mcp_health_monitor.py
echo.
echo 健康检查完成！
pause
goto menu

:auto_monitor
cls
echo ========================================
echo    启动 MCP 自动监控
echo ========================================
echo.
echo 🚀 正在启动自动监控系统...
echo 💡 提示: 按 Ctrl+C 停止监控
echo 📊 监控仪表板: http://localhost:8080
echo.
python auto_monitor.py
pause
goto menu

:dashboard
cls
echo ========================================
echo    启动监控仪表板
echo ========================================
echo.
echo 🚀 正在启动监控仪表板...
echo 🌐 访问地址: http://localhost:8080
echo 💡 提示: 按 Ctrl+C 停止服务
echo.
start http://localhost:8080
python auto_monitor.py --dashboard-only
pause
goto menu

:view_config
cls
echo ========================================
echo    查看配置文件
echo ========================================
echo.
echo 📁 MCP配置文件 (config.json):
echo ----------------------------------------
type config.json 2>nul || echo 文件不存在
echo.
echo 📁 监控配置文件 (monitor_config.json):
echo ----------------------------------------
type monitor_config.json 2>nul || echo 文件不存在
echo.
echo 📁 计算器配置文件 (calculator_config.json):
echo ----------------------------------------
type calculator_config.json 2>nul || echo 文件不存在
echo.
pause
goto menu

:view_logs
cls
echo ========================================
echo    查看日志文件
echo ========================================
echo.
echo 📋 MCP监控日志 (mcp_monitor.log):
echo ----------------------------------------
if exist mcp_monitor.log (
    powershell "Get-Content mcp_monitor.log -Tail 20"
) else (
    echo 日志文件不存在
)
echo.
echo 📋 自动监控日志 (auto_monitor.log):
echo ----------------------------------------
if exist auto_monitor.log (
    powershell "Get-Content auto_monitor.log -Tail 20"
) else (
    echo 日志文件不存在
)
echo.
echo 📋 计算器日志 (calculator.log):
echo ----------------------------------------
if exist calculator.log (
    powershell "Get-Content calculator.log -Tail 20"
) else (
    echo 日志文件不存在
)
echo.
pause
goto menu

:exit
echo.
echo 👋 感谢使用 MCP 监控系统！
echo.
pause
exit /b 0